package com.naiterui.ehp.bs.payment.constant;

/**
 * <pre>
 * 支付常量类
 * </pre>
 *
 * @date 2017年09月09日
 * @since 1.0.0
 */
@SuppressWarnings({"WeakerAccess", "unused"})
public class PayConstants {
    /**
     * 业务结果成功描述
     */
    public static final String RESULT_CODE_SUCCESS = "SUCCESS";

    /**
     * 通讯成功状态码
     */
    public static final String RETURN_CODE_SUCCESS = "SUCCESS";
    /**
     * 微信威富通请求参数中日期格式
     */
    public static final String COMMENT_DATE_FORMAT = "yyyyMMddHHmmss";
    /**
     * 订单过期时间
     */
    public static final int UNIFIED_ORDER_TIME_OUT = 30;
    /**
     * 支付渠道状态正常
     */
    public static boolean PAYMENT_CHANNEL_NORMALITY = true;

    private PayConstants() {
    }

    /**
     * 订单类型
     *
     * @date 2017年09月09日
     * @since 1.0.0
     */
    public static class BillType {
        /**
         * 查询红包时使用：通过商户订单号获取红包信息
         */
        public static final String MCHT = "MCHT";

        // 以下为下载对账单时的账单类型
        /**
         * 返回当日所有订单信息，默认值
         */
        public static final String ALL = "ALL";
        /**
         * 返回当日成功支付的订单
         */
        public static final String SUCCESS = "SUCCESS";
        /**
         * 返回当日退款订单
         */
        public static final String REFUND = "REFUND";
        /**
         * 返回当日充值退款订单（相比其他对账单多一栏“返还手续费”）
         */
        public static final String RECHARGE_REFUND = "RECHARGE_REFUND";

        private BillType() {
        }
    }

    /**
     * 交易类型
     *
     * @date 2017年09月09日
     * @since 1.0.0
     */
    public static class TradeType {
        /**
         * 原生扫码支付
         */
        public static final String NATIVE = "NATIVE";

        /**
         * App支付
         */
        public static final String APP = "APP";

        /**
         * 公众号支付
         */
        public static final String JSAPI = "JSAPI";

        /**
         * H5支付
         */
        public static final String MWEB = "MWEB";

        /**
         * 刷卡支付，刷卡支付有单独的支付接口，不调用统一下单接口
         */
        public static final String MICROPAY = "MICROPAY";

        private TradeType() {
        }
    }

    /**
     * 签名类型
     *
     * @date 2017年09月09日
     * @since 1.0.0
     */
    public static class SignType {
        /**
         * The constant HMAC_SHA256.
         */
        public static final String HMAC_SHA256 = "HMAC-SHA256";
        /**
         * The constant MD5.
         */
        public static final String MD5 = "MD5";

        private SignType() {
        }
    }

    /**
     * 支付渠道
     *
     * @date 2017年09月09日
     * @since 1.0.0
     */
    public static class PayChannel {
        /**
         * 微信公众号支付
         */
        public static final int WECHAT = 1;

        private PayChannel() {
        }
    }

    /**
     * 威富通service接口
     *
     * @date 2017年09月25日
     * @since 1.0.0
     */
    public static class SwiftPassServiceType {

        /**
         * 统一下单接口地址
         */
        public static final String UNIFIED_ORDER = "pay.weixin.jspay";

        /**
         * 退款接口
         */
        public static final String REFUND = "unified.trade.refund";

        /**
         * 查询订单接口
         */
        public static final String QUERY = "unified.trade.query";

        /**
         * 关单接口
         */
        public static final String CLOSE_ORDER = "unified.micropay.reverse";

        private SwiftPassServiceType() {
        }

    }

}
